home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
commodore-users-of-norman
/
CUON_03_(08-1984).d64
/
water mangage
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2019-04-13
|
7KB
|
212 lines
1 REM 12/8/78 J FRIEDLAND STIM PROJECT SUNY STONY BROOK
100 REM H2O WATER SIMULATION
102 S9=10:REM SCALING FAACTOR
105 DATA"HOUSEHOLD USAGE","MUNICIPAL SERVICES","INDUSTRIAL SUPPLY"
106 READA$,A$,A$
110 READ E1,E2,E3,D(1),D(2),D(3),H(1),H(2),H(3),FU
112 FL=FU+100000
115 D$=""
116 C$=""
120 DATA 0,0,0,1,1,1,8.16,2.16,1.68,250000
130 W0=12E6:G0=1000*S9:P0=2000:F0=5000*S9:W9=9E9
131 S3=9E9:S6=9E9:PRINT"[147]":GOSUB9500:FORX=1TO1000:NEXTX
132 PRINT"THE POPULATION OF YOUR VILLAGE":PRINT"IS"INT(P0)". EACH ACRE OF LAND UNDER"
133 PRINT"IRRIGATION SUPPORTS UP TO 10 PEOPLE."
134 PRINT"UNIRRIGATED LAND WILL FEED ABOUT 2."
135 PRINT"WEATHER FORECASTS INDICATE A DROUGHT.":PRINT"YOU MUST MAKE DECISIONS
136 [153]"THAT WILL ALLOW THE VILLAGE TO SURVIVE":[129]X[178]1[164]900:[130]X
137 [141]10000
140 [153]"LOAD":[141]1002
145 I[178]A2
150 [141]904
160 [141] 7000
200 [129]D0[178]0[164]1E8[169]S9:[161]A$:[139]A$[179][177]""[167]20000
205 [139] D0[179]120[167]210
206 FL[178]FU[171]([187](1)[172]FU[173]4)[170]FU[173]8
207 FU[178]FU[172].997
210 AC[178]32:DN[178]11:[141]8000: [139]FL[179]285000[167]212
211 [153]"NORMAL":[137]215
212 [139] FL[179]150000[167]214
213 [153]" LOW ":[137]215
214 [153]"V. LOW":FU[178]150000
215 P0[178]P0[170].001[172]P0:F0[178]F0[171]P0[172]S9:[139]F0[177]0[167]221
220 M$[178]"FOOD SHORTAGE":P0[178]P0[170]F0[173]10[171].001[172]P0:F0[178]0:[141]8200:[139]P0[177]0[167]250
221 [139]P0[177]0[167]250
222 P0[178]0:[137]270
250 [139]D0[178]0[167]300
255 [141]7200:[137]300
270 [141]9500:[153]"POPULATION GONEWAIT ON DAY"D0
280 [128]
300 [143] AGRICULTURE MODULE
310 A1[178]P1[172]P0:F8[178]1:F9[178]1:G1[178]0:I1[178]A2:[139] A2[179][178]A1[167]350
320 M$[178]"INSUFF. POPULATION TO IRRIGATE FULLY":[141]8200:I1[178]A1:F8[178]0
350 G0[178]G0[171].1[172]A1[172]S9:[139]G0[177]0[167]375
360 M$[178]"INDUSTRIAL SHORTAGE OF AGR. SUPPLIES":[141]8200:F9[178].5
375 [139] I1[179][178]I[167]400
380 G1[178]4[172](I1[171]I):[139]G0[171]G1[177]0[167]390
385 M$[178]"INSUFF. INDUST SUPPLY TO IRRIGATE":[141]8200:G1[178]G0
390 I1[178]I1[170]G1[173]4:G0[178]G0[171]G1
400 G0[178]G0[171]I1[172]S9:[139] G0[177]0[167]420
410 F9[178].5
420 W1[178](600[172]I1[172](1[171]E1)[170]15[172]A1)[172]S9
430 F0[178].95[172]F0[170](10[172]I1[170]1.5[172](A1[171]I1))[172]F9[172]S9
440 I[178]I1
500 [143] INDUSTRIAL MODULE
510 B1[178]P0[172]P2[171](S1[170]S2[170]S4[170]S5)[173]1000:G0[178]G0[171](.1[172]P0[172]S9)
515 D[178].2[172]A1[170]I[170].1[172]P0
520 D[178]S9[172]D[172]1.2[171]G0:[139]D[177]0[167]540
530 D[178]0
540 B2[178]D:[139]B2[173]S9[179][178]B1[167]555
550 B2[178]B1:[139]B1[177]0[167]555
551 B2[178]0
555 E2[178]S1[172]S9:[139](B1[172]100)[179]W9[167]560
556 B1[178]W9[173]100:[139]B2[178]0[167]558
557 B2[178]B2[172]W9[173](100[172]B2)
558 M$[178]"WATER SHORTAGE IN INDUSTRY":[141]8200
560 G0[178]G0[172].9[170]B2:W2[178]100[172]B1[172]S9:[139]W2[177]S1[172]S9[167]570
565 E2[178]W2
570 R2[178].9[172]E2
600 [143] DOMESTIC CONSUMPTION
610 W3[178]((8.16[172]D(1)[170]2.16[172]D(2)[170]1.68[172](3))[172]P0)[172]S9
615 E3[178]S4[172]S9:[139]W3[177]E3[167]620
617 E3[178]W3
620 R3[178].8[172]E3
700 [143] WATER
710 W0[178]W0[170]FL[172]S9[170]R2[170]R3[171]W1[171]W2[171]W3
712 [153]" ";
720 [139] W0[179]12E6[167] 735
730 W0[178]12E6
735 [143]
736 [139]W0[177]0[167]740
737 [141]9500:[153]"RESERVOIR DRYWAIT ON DAY #"D0:[128]
740 [139]D0[179]S3[167]750
741 [153]"INDUSTRIAL SEWAGE PLANT ON LINE NOW":[129]X[178]1[164]500:[130]X
745 S1[178]S1[170]S2:S3[178]9E9:S2[178]0
750 [139]D0[179]S6[167]790
751 [153]"MUNICIPAL PLANT SERVING "S4[172]S9"GAL READY":[129]X[178]1[164]500:[130]X
755 S4[178]S4[170]S5:S6[178]9E9:S5[178]0
790 [130]D0
800 [143] INTERRUPT ROUTINES
801 [153]"LOAD
810 PRINT"[147]WHAT DOYOU WANT TO CHANGE? 1) POPULATION JOB DISTRIBUTION"
820 PRINT" 2) ALTER IRRIGATION AMOUNT"
830 PRINT" 3) BUILD WATER TREATEMENT PLANTS 4) CUT WATER CONSUMPTION"
835 REM
840 INPUTQ:IFQ=0THEN860
850 ON Q GOSUB 900,1000,1020,1205
860 PRINT"[147]MORE CHANGES";
861 INPUTA$:A$=LEFT$(A$,1)
862 IFA$="Y"THEN800
863 GOSUB7000:GOTO205
900 PRINT"[147]CURRENT VALUES ARE: ";P1*100"% AGRICULTURE"
901 PRINTP2*100;"% INDUSTRY";(1-P1-P2)*100;"% CONSUMER"
904 PRINT"ENTER % OF POPULATION FOR AGRIC. & INDUSTRY (EXCESS ARE CONSUMERS)
905 [153]" % IN AGRICULTURE";:[133] P1:P1[178]P1[173]100
906 [153]" % IN INDUSTRY ";:[133] P2:P2[178]P2[173]100:[139]P1[170]P2[179][178]1[167]920
910 [153]"IMPOSSIBLE - TRY AGAINLOADNEW":[142]
920 P3[178]1[171]P1[171]P2:[153]"CONSUMERS ="P3[172]100"%":[141]10000
930 [142]
1000 [153]"LOADCURRENT ACREAGE IRRIGATED="I;""
1002 [153]"# ACRES TO BE IRRIGATED? (UP TO";[181](P0[172].5)"AVAIL)";:[133]A2
1005 [142]
1020 [143] SEWAGE PLANT ROUTINE
1025 [139] S2[172]S5[178]0[167]1050
1035 [153]"BOTH MUNICIPAL AND INDUSTRIAL SEWAGE":[153]"TREATMENT PLANTS ARE UNDER"
1040 [153]"CONSTRUCTION. NO REVISIONS AT THIS TIME"
1045 [142]
1050 [153]"BUILD A MUNICIPAL (1) OR AN INDUSTRIAL
1052 PRINT"SEWAGE PLANT(2)";:INPUTQ
1055 IF Q=1THEN1150
1060 IF S2=0THEN1075
1065 PRINT"PLANT NOW UNDER CONTRUCTION,NO REVISION OF PLAN POSSIBLE":GOTO1090
1067 RETURN
1075 PRINT"CURRENT WATER USAGE ="INT(W2)"GAL/DAY"
1076 PRINT"NOW"S1*S9"GAL/DAY ARE BEING TREATED"
1077 PRINT"THE NEW PLANT SHOULD HAVE AN ADDN'L CAPACITY OF";
1078 INPUTS2:S2=S2/S9:S3=D0+1500
1085 PRINT"THE NEW PLANT WILL BE ON LINE IN 4 YEARS"
1090 FORX=1TO1000:NEXTX:RETURN
1150 IF S5<>0THEN1065
1155 PRINT"[147]MUNICIPAL PLANT NOW SERVICES"S4*S9:PRINT"GALLONS/DAY"
1160 PRINT"MUNICIPAL WATER USAGE ="INT(W3)"GAL/DAY"
1165 PRINT"HOW MANY GAL/DAY WILL THE NEW PLANT HANDLE":INPUT S5
1166 S5=S5/S9:S6=D0+1500
1170 GOTO1085
1205 RESTORE
1210 FORQ=1TO3
1211 PRINT"[147]LEGISLATIVE WATER RESTRICTION"
1212 READA$:PRINT" "A$;""
1220 PRINT"CURRENT USAGE IS ";:IFQ>2THEN1250
1225 PRINTH(Q)*D(Q)*S9;"GAL/PERSON/DAY":IFD(Q)=1THEN1230
1226 PRINT"CURRENT RESTRICTION IS"100*(1-D(Q))"%"
1227 PRINT"SHOULD RESTRICTIONS BE RELAXED";:INPUTA$:A$=LEFT$(A$,1)
1228 IFA$<>"Y"THEN1230
1229 D(Q)=1:GOTO1247
1230 PRINT"SHALL A ";:IFD(Q)=1THEN1234
1231 PRINT"NEW ";
1234 PRINT"LIMIT BE IMPOSED ON USAGE";
1235 INPUTA$:A$=LEFT$(A$,1)
1240 IFA$="N"THEN1247
1245 PRINT:PRINT"WHAT % CUT IN CONSUMPTION";:INPUTD(Q):D(Q)=1-(D(Q)/100)
1247 NEXTQ
1248 RETURN
1250 PRINTINT(W2/P0)"GAL/PERSON/DAY"
1252 PRINT"("INT(W2/1000+.5)"THOUSAND GALLONS/DAY)"
1254 PRINT"SHALL A LIMIT BE IMPOSED";:W9=9E9
1255 INPUTA$:A$=LEFT$(A$,1)
1260 IFA$="N"THENRETURN
1270 PRINT"WHAT % CUT IN CONSUMPTION";:INPUTD(4):W9=W2*(1-D(4)/100)/S9:RETURN
7000 REM HEADING SECTION
7005 PRINT"[147] DAYPOPULATION"
7010 PRINT" FOOD SUPPLY (IN DAYS)"
7020 PRINT" WATER CONSUMPTION (GALLONS X 1000/DAY)"
7030 PRINT"[146]AGRICULTURE :":PRINT"INDUSTRIAL :"
7040 PRINT"PUBLIC SUPPLY:"
7045 PRINT"RESERVOIR LEVEL : % CAPACITY "
7050 PRINT"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
7055 AC=30:DN=10:GOSUB8000:PRINT"RIVER FLOW";
7060 AC=3:DN=21:GOSUB8000:PRINT"PRESS ANY KEY ONCE[146] TO ALTER MODEL":RETURN
7200 REM DISPLAY BASIC DATA
7210 DN=2:AC=6:GOSUB8000:PRINTD0:AC=32:GOSUB8000:PRINTINT(P0+.5);"[157] "
7230 DN=4:AC=24:GOSUB8000:PRINTINT(F0/P0+.5);"[157] "
7240 DN=10:AC=16:GOSUB8000:PRINTINT((W1-R1)/1000+.5);"[157] "
7250 DN=12:GOSUB8000:PRINTINT((W2-R2)/1000+.5);"[157] "
7260 DN=14:GOSUB8000:PRINTINT((W3-R3)/1000+.5);"[157] "
7270 DN=16:AC=16:GOSUB8000:PRINTINT(W0*100/12E6);"[157] "
7280 REM DN=21:AC=22:GOSUB8000:PRINT"CHANGE MODEL ";
7290 RETURN
8000 REM GRPH SUBSECTIN
8010 PRINT"":PRINTLEFT$(D$,DN);LEFT$(C$,AC);
8020 RETURN
8200 REM
8205 FORX=1TO12:IFX<>12THEN8210
8206 M$=" "
8210 AC=1:DN=22:GOSUB8000
8215 N$="":IFX/2<>INT(X/2)THEN8220
8218 N$="[146]"
8219 FORX1=1TO50:NEXTX1
8220 PRINTN$;M$;:NEXTX
8230 RETURN
9500 REM SET UP ROUTINE
9510 PRINT"[147]":FORX=1TO20:PRINT"[166][166][166][166][166][166][166][166][166][166]":NEXTX
9512 AC=30:DN=14:GOSUB8000
9513 PRINT"[169][223] [157][157][157][157][169] [157][157][157][157][157][169] [223][157][157][157][157][157][157][146][199][176][174][176][174][200][157][157][157][157][157][157][199][173][189][173][189][200][157][157][157][157][157][157][199] [176][174] [200]";
9514 PRINT"[157][157][157][157][157][157][199] [221][221] [200][157][157][157][157][157][157][157][157][197][197][197][197][197][197][197][197][197][197]";
9520 PRINT"";" [206] [206] [206] [206] [206] "
9530 FORX=1TO20:AC=10:DN=20:GOSUB8000:IFX/2=INT(X/2)THEN9537
9532 PRINT" > > > > > > > > > >":PRINT"/ / / / / ";
9533 GOTO9540
9537 PRINT"> > > > > > > > > > ":PRINT" / / / / / ";
9540 DN=X:AC=1:GOSUB8000:PRINT"[157] ":NEXTX
9550 AC=15:DN=2:GOSUB8000:PRINT"WATER RESOURCE MANAGEMENT"
9560 RETURN
10000 PRINT" PRESS ANY KEY TO CONTINUE[146]";
10010 GETA$:IFA$=""THEN10010
10020 RETURN
20000 PS$=""+LEFT$(D$,22)
20010 PRINTPS$;"WOULD YOU LIKE TO CHANGE ";
20020 INPUT"ANY VARIABLES";NTR$
20030 IFLEFT$(NTR$,1)="Y"THEN800
20040 PRINTPS$;" HIT ANY KEY TO STOP[146] "
20050 GOTO205